//等同引入vue.js文件
import Vue from 'vue'
//引入App组件以及该组件下的所有子组件
import App from './App.vue'

//导入混入
import {mix1 , mix2 , mix3} from "./mixin.js";

//导入插件
import {p1} from './plugins'

//屏蔽生产提示信息
Vue.config.productionTip = false

//插件的使用通常放在创建Vue实例之前
//插上插件.(删除就是拔下插件)
Vue.use(p1 , 1 , 2 , 3 , 4)

//创建Vue实例
// new Vue({
//   render: h => h(App),
// }).$mount('#app')

//vue.runtime.esm.js：4469[vue警告]：您使用的是vue的仅运行时版本，其中模板编译器不可用。要么将模板预编译为呈现函数，要么使用编译器附带的构建。

/*
* 实际引入的vue.js文件是: dist/vue.runtime.esm.js (esm版本是ES6模块化版本)
* 为什么缺失模版编译器?
*   Vue包含两部分:一部分是Vue的核心,一部分是模版编译器(模版编译器可能占整个vue.js文件的一大部分体积),程序员最终使用webpack打包的时候
* 显然Vue中的模版编译器就没有存在的必要了,为了缩小体积,所以在Vue脚手架中直接引入的就是一个缺失模版编译器的 vue.js
*  这样就会导致template无法编译(注意:<template>标签可以正常编译[package.json文件中进行了配置,说的是template配置项无法编译])
* 解决这个问题包括两种方式：
*   第一种方式:引入一个完整的vue.js
*   第二种方式:使用render函数
* */


//全局混入
Vue.mixin(mix1)
Vue.mixin(mix2)
Vue.mixin(mix3)


const  vm = new Vue({
  el : '#app',
  //render函数是会被自动执行的
  //使用createElement创建元素
  render:h => h(App)
})

//import Vue from 'vue/dist/vue'  完整版的vue.js
//new Vue({
//   el : '#app',
//   template : '<h1>1212</h1>'
// })

//正常写法
// new Vue({
//   el : '#app',
//   //render函数是会被自动执行的
//   render(createElement){
//     return createElement(App)
//   }
// })
